
Examples Help


                                               version: 2.2.2
                                               created: 04/08/2000 {12:46:41 am}
                                           last update: 10/31/2001 {15:26:36 PM}
                               

	  	Introduction


This document describes the contents of the folder Examples, included as a
part of the Alpha distribution.  This folder is not an essential component
of the software.  Removing it, however, will not reduce the memory
requirements of the program, and will only save disk space.

Alpha is a mode-based text editor.  This means that its behavior can change
depending on the type of file that one has opened.  A LaTeX file, for
example, with a file suffix .tex, will induce Alpha to load special LaTeX
menus, colorize keywords, and adopt a particular indenting scheme.  Other
modes are specific to html files, or various programming / syntax
languages.  Several modes have been installed with their own Help files.

The links below open the example files in a shell window which you can
modify at your liesure to explore a mode's schema for colorizing, file
marking, indenting, etc.  None of the changes you make will affect the
actual file.  If you close the window and then click on the hyperlink
again, you will start with the same example as before.

Many of Alpha's modes have been submitted by users, and are being
continually revised and updated.  The "Alpha Manual" contains more
information on how determine what packages you have available, as well as
how to find and install additional modes that might not be part of the
"official" distribution.  The file "Extending Alpha" explains how you could
write additional modes, menus or features yourself.

In this document, the examples in green are hyperlinks to examples for the
specified mode.  When you move your mouse over the link, the cursor will
turn into a magnifying glass, and clicking will load the proper mode and
open up the file.  Those in black are still waiting for a contribution --
if you have a worthy example, the last section of this file contains an
e-mail address for making submissions.  Other hyperlinks refer to either
help manuals installed with Alpha, or www links.

This file is a special colorized example of Text mode -- at the right of
the status bar on the bottom of your screen you'll see a pop-up menu box
which currently states 'Text'.  This menu lists all of the modes currently
installed, and allows you to change the mode of the frontmost window.  If
the Example file refers to a mode that is not installed, Alpha will open it
in 'Text' mode by default.


	  	Macintosh memory warning


One reason that Alpha has a smaller footprint of RAM is that it only loads
"extra" modes when called upon to do so.  However, every time that Alpha
does load a new mode, this increases its memory requirements -- load enough
of them and you might cause the program (as well as your cpu) to crash. 
This is especially true if the modes in question have numerous extra
features and/or menus.

For this reason, and depending on the relative power of your computer, you
might not want to open all of these examples in one session.  If the beach
ball starts to turn very slowly as Alpha is loading a mode, you should
consider saving and closing all Alpha windows, quitting and restarting the
program.  You can increase Alpha's memory partition (but only when the
program is not open) by clicking once on the Alpha application and opening
the Finder's ' File --> Get Info ' window.

	  	
	======================================================================


	  	LaTeX and HTML Modes


The LaTeX and HTML examples below not only demonstrate Alpha's behavior for
the modes, they can also serve as introductions to the markup languages.


	  	 	LaTeX Example

TeX mode, for the family of TeX and LaTeX files.

(This includes .tex, .sty, .cls, .bst  etc.  files.)
                    
"LaTeX Example.tex"             "TeX Help"

This example is David R. Wilkins' Getting Started with LaTeX, a 45 page
introduction to Leslie Lamport's set of extensions to Donald Knuth's TeX
typesetting program.  This is a self-contained LaTeX file, which does not
rely upon any extra .sty files.  If one has already installed a LaTeX
processing software package, such as OzTeX or CMacTeX, one could process
the actual file contained in the Examples folder "LaTeX-Example.tex"
(rather than the hyperlink above) and obtain an excellent manual for LaTeX.


	  	 	BibTeX Example

Bib mode, for LaTeX bibliography files.

"BibTeX Example.bib"            "Bib Help"

This file is a compendium of books on computer languages and programming.

The Bib mode can also convert .bib files to .html or .refer (EndNote), and
can also convert some formats such as .hollis or .inspec to .bib .  See the
"BibTeX Help" file for details -- this distribution of the Examples
also includes a "Hollis-Example.hollis" example file.


	  	 	HTML Example

HTML mode, for the family of World Wide Web html files.

(This includes .shtml, .css, .js files.)

"HTML Example.html"             "HTML Help"

This example is the NSCA's A Beginner's Guide to html, which sets forth the
required elements of a standard html web page, as well as additional tags
that one might use for stylistic or formatting purposes.  If one opened the
actual file in the Examples folder "HTML-Example.html" instead of the
above hyperlink, it could then be sent to the defined web browser.


	  	 	CSS Example

CSS mode, for (html) cascading style sheets.  

"CSS Example.css"               "CSS Help"


	  	 	JavaScript Example

JScr mode, for (html) javascript scripts.  

"JavaScript Example.js"         "JScr Help"

	  	
	======================================================================

	  	Text Markup Modes


Alpha's Text mode is used by default when the mode of a window cannot be
determined via file extensions of 'smart mode lines'.  There are, however, 
some additional modes which primarily support the markup of text (as
opposed to the creation of files specific to programming languages.)


	  	 	man Example

"man Example.n"                 "man Help"

This mode is for editing unix-style reference manuals, those which 
are generally viewed using the 'man' command.  This example is the manual 
page for Tcl, which describes the basic syntax of Tcl.


	  	 	Setext Example

Setx mode, for the Setext markup language.

"Setext Example.stx"			"Setx Help"

Setext stands for 'S'tructure 'E'nhanced 'Text'.  It is a markup scheme for
plain text documents such as email messages and e-zines.  Setext's primary
goal is to provide a way of marking text that is visually unobtrusive, so
that if you don't have a special setext browser, like EasyView, you can
still read the text.  

                                            -- Donavan Hall

	  	
	======================================================================

	  	Programming / Syntax Modes


Some of the annotation comes from the University of Montana "Language Finger"
at <http://www.lib.umt.edu/guide/lang/langfing.htm>  (UMLF).  Most of the rest 
comes from program specific web sites.


	  	 	Ada Example

Ada mode, for the Ada programming language.

"Ada Example.ada"               "Ada Help"

In the 1960s and 1970s, the United States Department of Defense was using
more than 2,000 languages for its mission-critical programming.  Most of
these were languages that were developed for one specific job.  Finally, in
1975, the DoD formed the U.S. Department of Defense High-Order Language
Working Group (HOLWG) to find a solution to what was often called the
"software crisis."

Rather than create this new language themselves, they decided to hold a
contest.  Coincidentally, all of the teams created Pascal-based languages. 
In the end, the winner was CII Honeywell-Bull in France.  Eventually, the
language was christened "Ada," in honor of Lady Ada Lovelace, daughter of
famed poet Lord Byron and assistant to mathematician Charles Babbage, who
invented the Analytical Machine.  Lady Ada is often considered to be the
world's first programmer.

By 1990, over 200 validated Ada compilers had been produced, and in 1995 a
new standard, called Ada 95, was announced.  Ada 95 is object-oriented, and
offers interfaces to the languages C, FORTRAN and COBOL.

                                        -- <http://www.adahome.com>

	  	 	AppleScript Example

Scrp mode, for Applescript scripts.

"AppleScript Example.script"    "Scrp Help"

AppleScript is an English-like language used to write script files which
can control the actions of the computer and the applications which run on
it.  Scripts can make decisions based on user-interaction or by parsing and
analyzing data, documents or situations.  Every Macintosh can be automated
and controlled using AppleScript which comes with and is an integral part
of the Macintosh operating system.

                                    -- <http://www.apple.com/applescript/>

	  	 	C Example

C mode, for the C programming language.

"C.Example.r"                   "C Help"

C was developed out of the construction of the UNIX operating system.  It
has a modular programming structure and is thus useful for functional
programming.  Despite being a rather old language, it still seems to be used
extensively for much low-level development (other languages such as Tcl,
Perl, Python are all implemented in C).  C++ is largely a superset of C.
Other dialects include Small-C and Visual C.

                                                        -- UMLF
	  	 	C++ Example

C++ mode, for the C++ programming language.

"C++ Example.c"                 "C++ Help"

C++ was designed and implemented by Bjarne Stroustrup at AT&T Bell
Laboratories to combine the organizational and design strengths of Simula
with C's facilities for systems programming.  The initial version of C++,
called "C with Classes," was first used in 1980; it supported traditional
system programming techniques and data abstraction.  The basic facilities
for object-oriented programming were added in 1983 and object-oriented
design and programming techniques were gradually introduced into the C++
community.  The language was first made commercially available in 1985. 
Facilities for generic programming were added to the language in the
1987-1989 time frame.

As the result of widespread use and the appearance of several independently
developed C++ implementations, formal standardization of C++ started in
1990 under the auspices of the American National Standards Institute, ANSI,
and later the International Standards Organization, ISO, leading to an
international standard in 1998.  During the period of standardization the
standards committee acted as an important focus for the C++ community and
its draft standards acted as interim definitions of the language.

                                        -- <http://www.research.att.com/~bs/>

	  	 	Caml Example

Caml mode, for the Caml programming language.

"Caml Example.ml"               "Caml Help"

Caml is a programming language, easy to learn, easy to use, and yet
amazingly powerful.  It has been developed and distributed by INRIA (the
main french research institute for computer science), since 1984.  It is
freely available for Unix, PC or Macintosh.  There exist two flavors of
Caml: Caml Light and Objective Caml.  Caml Light is merely a subset of
Objective Caml, especially designed for teaching and learning the art of
programming.  In addition to the Caml Light's core language, Objective Caml
features a powerful modules system, full support to object-oriented
paradigm, and an optimizing compiler.  

                                        -- <http://pauillac.inria.fr/caml/>

	  	 	CLAN Example

Clan mode, for "Computerized Language Analysis" files.

"CLAN Example.cha"              "Clan Help"

CLAN is a program that is designed specifically to analyze data
transcribed in the format of the Child Language Data Exchange System
(CHILDES).  CLAN was written by Leonid Spektor at Carnegie Mellon
University.  The current version uses a graphic user interface and runs
on both Macintosh and Windows machines.  Earlier versions also ran on DOS
and Unix without a graphic user interface.  CLAN allows you to perform a
large number of automatic analyses on transcript data.  The analyses
include fre-quency counts, word searches, co-occurrence analyses, mean
length of utterance (MLU) counts, interactional analyses, text changes,
and morphosyntactic analysis.

                                        -- <http://childes.psy.cmu.edu>

	  	 	FORTRAN Example

Fort mode, for the FORTRAN programming language.

"FORTRAN Example.f"             "Fort Help"

FORTRAN first developed in the 1950's and still used today.  Its name comes
from "formula translation," revealing its early use in processing
mathematics.  Dialects include FORTRAN 77and FORTRAN 90.  Versions include
FORTRAN II, IV, and V, WATFOR, and WATFIV.

                                                        -- UMLF

	  	 	Gnuplot Example

GPLT mode, to use Alpha as the front end for Gnuplot.

"Gnuplot Example.gp"            "GPLT Help"

Gnuplot is a command-line driven interactive function plotting utility for
UNIX, MSDOS, and VMS platforms.  The software is copyrighted but freely
distributed (i.e., you don't have to pay for it).  It was originally
intended as a graphical program which would allow scientists and students
to visualize mathematical functions and data.

                        -- <http://www.cs.dartmouth.edu/gnuplot_info.html>

	  	 	Igor Example

Igor mode, for the IGOR data analysis and graphing package.

"Igor Example.igor"             "Igor Help"

WaveMetrics' IGOR Pro is an extraordinarily powerful and extensible
graphing, data analysis, and programming tool for scientists and engineers.

With IGOR Pro installed on your Macintosh or Windows computer, you will
have the power to produce journal-quality scientific graphs, handle large
data sets with ease, import data from a variety of file formats, use a wide
range of capabilites for analysis and graphing, present your results
effectively, use IGOR's built-in programming environment to control all its
aspects, and acquire data directly from instruments.

                                            -- <http://www.wavemetrics.com/>

	  	 	Java Example

Java mode, for the Java programming language.

"Java Example.java"             "Java Help"

Java is a computer language intended to be machine and operating-system
independent.  Java programs written on one platform can in principle run on
any other Java platform (Windows, Macintosh, Unix variants etc).  This
includes sound, video etc.  It was developed by Sun Microsystems.

	  	 	Lisp Example

Lisp mode, for emacs .el (and other LISP) files.

"Lisp Example.el"               "Lisp Help"

LISP is an acronym for LISt Processing.  Its development history has often
been associated with symbolic processing and with both computer and human
languages.  A heterogeneous list data type has always been built into the
language in order to efficiently deal with arbitrary and changing models. 
Lisp has evolved into a family of languages.  The two major dialects in use
today are Common Lisp and Scheme.

                                            -- <http://www.lisp.org>


	  	 	Maple Example

mapl mode, for Maple programming files.

"Maple Example.maple"           "mapl Help"

Maple is a functional programming language for doing symbolic computations
in mathematics.  It is also a commercial programme for interpreting code
written in this language 

                                           -- <http://www.maplesoft.com>


	  	 	MATLAB Example

MATL mode, to use Alpha as the front end for MATLAB.

"MATLAB.Example.m"              "MATL Help"

MATLAB is an intuitive language and a technical computing environment.  It
provides core mathematics and advanced graphical tools for data analysis,
visualization, and algorithm and application development.  With more than
500 mathematical, statistical, and engineering functions, engineers and
scientists rely on the MATLAB environment for their technical computing
needs.

                                            -- <http://www.mathworks.com/>

	  	 	Metafont Example

Mf mode, to use Alpha as the front end for Metafont (with CMacTeX or OzTeX).  

"Metafont Example.mf"           "Mf Help"

Metafont is the programming language written, as a companion to TeX, by
Donald Knuth in order to create characters, fonts, font families (and many
others things).  Metafont allows you to write the source files which TeX
and Latex will invoke at runtime to build the fonts they need: fonts are
built according to the desired size and to the resolution of your printer
in order to get printed documents with the highest typographic quality.

                                    -- <http://perso.easynet.fr/~berdesg/>

	  	 	Metapost Example

Mp mode, to use Alpha as the front end for Metapost (with CMacTeX or OzTeX).  

"Metapost Example.mp"           "Mp Help"

Metapost is a programming language written by John Hobby in order to create
all kinds of figures, graphs, pictures to include in a document prepared
with TeX or with Troff.  Its syntax is very much like Metafont's syntax but
Metapost outputs are Postscript encapsulated files.

                                    -- <http://perso.easynet.fr/~berdesg/>

	  	 	Modula-2 Example

M2 mode, for programming in Modula-2 using the RAMSES or MacMETH shell.

"M2 Example.m2"                 "M2 Help"

The RAMSES (Research Aids for Modelling and Simulation of Environmental
Systems) software is a package consisting of a shell, and several so-called
sessions.  Each session serves a particular purpose, modeling, experiment
definition, simulation, and post-simulation analysis and can be run from
within the shell.

Modula-2 for the Macintosh is available as FreeWare, courtesy ETH Zurich as 
part of the software packages RAMSES or MacMETH.

                                    -- <http://www.ito.umnw.ethz.ch/SysEcol/>

	  	 	Omega Example

Omg mode, for (TeX) Omega syntax files.

"Omega Example.opl"             "Omg Help"

OMEGA is the program written, as a superstructure of TeX, by John Plaice
and Yannis Haralambous in order to extend TeX's capabilities and deal with
any possible language and script.  It is based internally on Unicode.

                                    -- <http://perso.easynet.fr/~berdesg/>

Omg mode recognizes .tex, .opl, and .otp files.  Some of the mode's
features (such as file marking) are file extension dependent.  The
example-hyperlink will not have any such file extension -- for additional 
Omega examples, try these links:

.tex    "Omega-Example.tex"
.opl    "Omega-Example.opl"
.otp    "Omega-Example.otp"


	  	 	Pascal Example

Pasc mode, for the Pascal programming language.

"Pascal Example.p"              "Pasc Help"

The computer language Pascal was developed between 1968 and 1971, from
ALGOL. It was named for the French mathematician Blaise Pascal.  Its
highly-structured nature makes it especially well-suited for developing
algorithms.

                                                        -- UMLF

	  	 	Perl Example

Perl mode, which can use Alpha as the front end for MacPerl.

"Perl Example.pl"               "Perl Help"

Perl is an interpreted high-level programming language developed by Larry
Wall.  According to Larry, he included in Perl all the cool features found
in other languages and left out those features that weren't so cool.

Perl has become the premier scripting language of the Web, as most CGI
programs are written in Perl.  However, Perl is widely used as a rapid
prototyping language and a "glue" language that makes it possible for
different systems to work well together.  Perl is popular with system
administrators who use it for an infinite number of automation tasks.

Perl's roots are in UNIX but you will find Perl on a wide range of
computing platforms.  Because Perl is an interpreted language, Perl
programs are highly portable across systems.

                                            -- <http://www.perl.com>

	  	 	PHP Example

PHP mode, for PHP-enable web pages.

"PHP Example.php"              "PHP Help"

PHP is a tool that lets you create dynamic web pages.  PHP-enabled web pages
are treated just like regular HTML pages and you can create and edit them
the same way you normally create regular HTML pages.  PHP is a project of
the Apache Software Foundation.

                                            -- <http://www.php.net>

	  	 	PostScript Example

PS mode, for Postscript files.  This example is a PostScript version of 
the first four pages of the Getting Started With LaTeX manual.

"PostScript Example.ps"         "PS Help"

PostScript is a language, not a graphic file format.  A PostScript file is
really a program, not graphical data.  The difference is that by looking at
a PostScript file you (or an application) cannot easily tell what the file
represents.  Instead, you must run the file to see what it does. 
Generally, the result of running a PostScript program is to draw marks on a
graphical page.

                            -- <http://www.glyphic.com/free/macgs.html>

	  	 	Python Example

Pyth mode, for the Python programming language.

"Python Example.py"             "Pyth Help"

Python is an interpreted, interactive, object-oriented programming
language.  It incorporates modules, exceptions, dynamic typing, very high
level dynamic data types, and classes.  Python combines remarkable power
with very clear syntax.  It has interfaces to many system calls and
libraries, as well as to various window systems, and is extensible in C or
C++.  It is also usable as an extension language for applications that need
a programmable interface.  Finally, Python is portable: it runs on many
brands of UNIX, on the Mac, and on PCs under MS-DOS, Windows, Windows NT,
and OS/2.
                                            -- <http://www.python.org>

	  	 	S Example

S mode, for S, S-Plus, R statistical syntax files.

"S Example.s"                   "S Help"

S-Plus is the premier solution for exploratory data analysis and
statistical modeling.  With over 3,800 data analysis functions, including
the most comprehensive set of robust and modern methods available anywhere,
S-Plus allows you to perform more insightful analysis, create revealing
graphics and make more informed business decisions.

                                    -- <http://www.splus.mathsoft.com/>

	  	 	SAS Example

SAS mode, for SAS statistical syntax files.

"SAS Example.sas"               "SAS Help"

SAS/STAT software, an integral component of the SAS System, provides
extensive statistical capabilities with tools for both specialized and
enterprise-wide analytical needs.  Ready-to-use procedures handle a wide
range of statistical analyses, including analysis of variance, regression,
categorical data analysis, multivariate analysis, survival analysis,
psychometric analysis, cluster analysis, and nonparametric analysis.

                                            -- <http://www.sas.com>

	  	 	Scheme Example

Scm mode, for the Scheme programming language.

"Scheme Example.scm"            "Scm Help"

The Scheme dialect of Lisp was created in 1975 by Guy Steele and Gerry
Sussman to explore ideas in programming-language semantics.  They showed
that a powerful language can be made "not by piling feature on top of
feature, but by removing the weaknesses and restrictions that make
additional features appear necessary".  Scheme pioneered lexical scope in
Lisp, first-class continuations, and tail recursion, and more recently
added an advanced macro system.  It's the best-known Lisp dialect after
Common Lisp (which it influenced).  It is IEEE standardized and widely used
in universities and in electronic CAD systems.

                                            -- <http://www.lisp.org>

	  	 	Scilab Example

Scil mode, for the Scilab scientific software package, used for numerical
computations in a user-friendly environment.

"Scilab Example.sci"			"Scil Help"

Its features include elaborate data structures (polynomial, rational and
string matrices, lists, multivariable linear systems,...); sophisticated
interpreter and programming language with Matlab-like syntax; hundreds of
built-in math functions (new primitives can easily be added); stunning
graphics (2d, 3d, animation); open structure (easy interfacing with Fortran
and C via online dynamic link); and many built-in libraries.

                                    -- <http://www-rocq.inria.fr/scilab/>

	  	 	sh Scripts Example

sh mode, for unix, linux, or osx shell scripts.  This example is the script 
used to generate on-line man reference pages, such as those found at this
site:  <http://www.softlab.ntua.gr/~christia/man-cgi.html>.

"sh Example.sh"               "sh Help"

The first version of UNIX was created in 1969 by Kenneth Thompson and
Dennis Ritchie, system engineers at AT&T's Bell Labs.  It went through many
revisions and gained in popularity until 1977, when it was first made
commercially available by Interactive Systems Corporation.

At the same time a team from the University of California at Berkeley was
working to improve UNIX. In 1977 it released the first Berkeley Software
Distribution, which became known as BSD. Over time this won favour through
innovations such as the C shell.

Meanwhile the AT&T version was developing in different ways.  The 1978
release of Version 7 included the Bourne Shell for the first time.  By 1983
commercial interest was growing and Sun Microsystems produced a UNIX
workstation.  System V appeared, directly descended from the original AT&T
UNIX and the prototype of the more widely used variant today.

                                    -- <http://unixhelp.ed.ac.uk/>

	  	 	SPSS Example

SPSS mode, for SPSS statistical syntax files.

"SPSS Example.sps"              "SPSS Help"

SPSS 10.0 is a modular, integrated product line for data access, data
preparation, reporting, graphics and advanced analysis through statistical
techniques.  The new release updates Macintosh users to the latest version
and delivers significant new capabilities in all areas of the product line,
including: new modules; predictive capabilities for data mining; and
dynamic, interactive graphics for the first time on the Macintosh.  The
software will also be available in a distributed analysis architecture
(DAA), which provides users with dramatically improved performance with
very large datasets.

                                            -- <http://www.spss.com>

	  	 	SQL Example

SQL mode, for SQL and Oracle's PL/SQL programming language.

"SQL Example.sql"               "SQL Help"

SQL, Structured Query Language, is a database query language that was
adopted as an industry standard in 1986.  PL/SQL is Oracle's Procedural
Language extension to SQL. PL/SQL's language syntax, structure and data
types are similar to that of Ada.  The language includes object oriented
programming techniques such as encapsulation, function overloading,
information hiding (all but inheritance) and is commonly used to write
data-centric programs to manipulate Oracle data.

                                            -- <http://www.orafaq.org/>

	  	 	Stata Example

Stta mode, for Stata statistical syntax files.

"Stata Example.do"              "Stta Help"

Stata has complete statistical, graphical, and data-management capabilities
and is also fully programmable.  Stata is an environment for manipulating
and analyzing data using statistical and graphical methods.  Stata is an
integrated package  not a collection of separate modules.  You can
intersperse data management, statistical, and graphical commands.

                                            -- <http://www.stata.com>
	  	 	Tcl Example

Tcl mode, the programming language on which Alpha is based.  Tcl has its 
own separate "Tcl Commands" and "Tcl Resources" help files.

"Tcl Example.tcl"				"Tcl Help"

Tcl is a string-based command language.  The language has only a few
fundamental constructs and relatively little syntax, which makes it easy to
learn.  The Tcl syntax is meant to be simple (and in this respect differs to
Perl).  Tcl is designed to be a glue that assembles software building blocks
into applications, and is also used as a scripting language and for building
graphical interfaces very quickly (with the Tk extension).  In addition, Tcl
is interpreted when the application runs.  The interpreter makes it easy to
build and refine your application in an interactive manner.  Tcl is also
available cross-platform.  Programs written in Tcl/Tk can run without any
changes on Windows, Macintosh (including MacOS X) and Unix.

                                            -- <http://www.scriptics.com>


	  	
	======================================================================



	  	Alpha -- specific modes


Some of Alpha's mode are not intended for text editing.  They instead
support different menu items or features.  This section gives examples of
how Alpha might use some of the modes included in the modes pop-up menu (the
menu in the status bar that currently reads 'Text').


	  	 	Browser Example

Brws mode.  This provides a way to navigate the results of a batch search. 
During a batch search, a list of all matching lines are displayed in a Brws
window.  By using the arrow keys and the return key, you can easily jump to
the correct file and line of the match you desire.

"Browser Example"

This example is a hyperlink to the 'Browse Fileset' menu item.


	  	 	Calculator Example

Calc mode.  This provides a simple calculator for use within Alpha,
available as a dynamic menu item under Utils.  See the "Alpha Manual" for
more information regarding dynamic menus.

"Calculator Example"            "Calculator Help"

This example will return the result of typing  

	1 <cr> 1 + <cr>
	1 <cr> 1 + <cr> 4.2 *

It first calculates 1 + 1, then calculates (1 + 1) * 4.2


	  	 	Changes Example

Chng mode, an Alpha Developers tool for editing 'Changes' files.  This link 
will open the latest Alpha - Changes file.

"Changes Example"


	  	 	Compare Example

Diff mode.  This is a display mode associated with the compare package,
which allows for powerful side-by-side file comparison.

"Compare Example"               "Diff Help"

This link will compare the Tcl-Example.tcl file with the tclMode.tcl file
installed with your distribution.


	  	 	Flt Mode Example

'Fltr' mode is enabled by the package: filters, which allows for complicated
search and replace functions within Alpha.  For more information, see the
"# Filters Example" below.


	  	 	Install Example

Inst mode.  This provides support for the Install menu, and is invoked 
whenever you open a file containing an installation script, i.e. whenever 
you are installing a new package.

"Install Example"               "Extending Alpha"

This link will open such a file, presenting you with installation options. 
This script won't actually install anything, and clicking on either 'OK' or
'Cancel' will close the file.  To see the actual Tcl code contained in this
script, hold down any modifier key while you click on the hyperlink.  See
the "Extending Alpha" help file for more installation script information.


	  	 	Mail Example

Mail mode.  This allows Alpha serve as a front end to Eudora and other
e-mail software packages for reading and sending e-mail.

"Mail Example"                "Mail Help"

This link will open a mail window and compose a nice note addressed to the
author of this file.  You must have Eudora or some other compatable
software installed to send it, though.


	  	 	Shell Example

Shel mode.  This provides an interactive way (via Utils --> Shell) to access 
Tcl and the Toolserver shells.

"Shell Example"                 "Shells"

This link will open a Tcl shell and issue the commands 

	cd [file join $HOME]
	cd [file join $HOME "Examples"]
	glob -dir [file join $HOME "Examples"] *
	version
	alertnote "Hello World."

Some of these commands are Tcl commands, others are specific to Alpha.


	  	 	TIP Example

TIP mode, for Tcl Improvement Proposal suggestions.

"TIP Example.tip"                   "TIP Help"

This link will open a draft letter for a suggestion, and insert the TIP menu 
into the menu bar.


	  	 	WWW Example

WWW mode -- this is another of Alpha's display modes.  The WWW Menu allows
you to render local HTML files directly in an Alpha text window.  The
hyperlinks in the WWW window can be navigated with the arrow keys; the
return key takes you to the target of the link if you have your preferences
set to do that.  A future version of Alpha will support direct browsing of
the Internet, but in versions less than 8.0 only local files can be
rendered.

"WWW Example"                   "wwwMenu Help"

This link document will render the first page of the HTML Mode Manual.  

	  	
	======================================================================


	  	Feature Examples


Many of Alpha's features are best explained with a little tutorial.  This
section contains a small collection of the tutorials currently available.


	  	 	Filters Example

The Filters Menu allows you to do successive Search And Replace operations
for the current window (in any mode).  All  the operations are gathered in
files called -- filters -- which you  can apply to any text file opened in
Alpha.

"Filters Example"               "Filters Help"

This link will open a Filters Tutorial shell window.  The actual files 
containing the filter information are opened in Flt mode, such as the 
"Filters Example.flt" file.  These examples will be much more useful if the 
Filters package is enable via the "Config --> Menus" menu item.


	  	 	Mac Menu Example

"MacMenu Example"               "Mac Menu Help"

Mac Menu for Alpha allows you to achieve all kinds of  files  manipulations
from Alpha and  to  interact  with  the  MacOS  file  system  with  maximum
flexibility. 

You can act upon selections of files taken out of a folder or  a  hierarchy
of folders  and  subfolders  :  the  selection  is  made  using  a  regular
expression (regexp) and setting various  additional  conditions.  You  have
thus full and extended control on which files you want to manipulate.


	  	 	Macros Example

"Macros Example"                "Macros Help"

A macro is a sequence of recorded keystrokes that can be played back again. 
Unlike other macro packages you might be familiar with in other Mac
applications, keyboard macros in Alpha do not record mouse movement or
entries in system dialogs -- only keystrokes or menu selections are
recorded.  Even with these limitations, you will discover that macros can
save you time through easy automation of repetitive tasks.


	  	 	Manip Cols Example

"ManipCols Example"             "ManipCols Help"

The 'manipCols' package is a feature which   allows  one  to   do   various
manipulations with the columns of any tabulated material i.e. a  series  of
lines in which items are separated by a tabulation or by any other specific
character (like & or a tabulation or a colon, a comma, an  endash  etc.  or
even the space character). Once it is installed and activated,  it  adds  a
"Text --> Columns" submenu.  The  items  of  this submenu are explained  in
the "ManipCols Help" file.

	  	
	======================================================================


	  	Acknowledgments


Alpha is a collaborative project.  This package would not have been possible 
without the suggestions and submitted/authored files from the following:

	Anders Andersen, Milton Aupperle, Dale Bickel, Laurent Chno, Panagiotis J.
	Christias, Vince Darley, Bernard Desgraupes, Thomas Dunbar, Andreas
	Fischlin, David Flanagan, Jonathon Guyer, Donavan Hall, Yannis Haralambous,
	Johan Linde, John Plaice, Neil Schemenauer, Daniel K. Schneider, Sandra
	Silcot, Dorai Sitaram, David Smith, Bjarne Stroustrup, David A. Wheeler,
	Pierre Weis, David Wilkins, and Jos van der Woude
        
	  	Technical Notes


Any file with 'Example' in the filename will automatically be installed in
the Examples folder.  All of the hyperlinks in this help document (as well
as others) use the proc: help::openExample.  Any Help file can take
advantage of this procedure to include hyperlinks to any example file
included in the 'Examples' folder.

Important: 'Example' filenames must be '<something>-Example.sfx', where
<something> is an alpha-numeric string and .sfx is recognized by Alpha in
the "Config --> Preferences --> Suffix Mappings" preference.  (Or include a

	-*-<mode>-*-

statement in the first line of the example file as in

	-*-Omg-*-

The dash in the filename is important and cannot be omitted !!

This file relies on the auto-marking and auto-hyperizing capabilities of
Alpha.  To include an 'example' hyperlink in any Help file, which will open
any file in the Examples folder in read-only format, simply put the
file's name in quotes:

    "LaTeX-Example.tex"

To open the example in a shell window, which will insert some explanatory
comments at the top of the window and allow for any modifications without
altering the original file, omit the dash preceding Example in the file's 
name:

    "LaTeX Example.tex"

Note that examples which are opened in shell windows do not technically
exist as files, and the window will not have any file suffix.  This could
disable some mode features that rely on file suffixes, and the window can
not be sent to other applications.  

If you want to include an example that does something different than these
two default routines, you must create a "<something>-Example.sfx.tcl" file. 
The alpha-specific modes use such scripts (i.e. "Compare Example" sources
"Compare-Example.tcl").  These can also be adapted for package-specific
tutorials, such as the tutorials

    "Filters Example"       "Filters-Example.tcl"    and
    "ManipCols Example"     "ManipCols-Example.tcl"

See some of the .tcl files in the "Examples" folder for more examples.


Auto-marking / hyperizing files must be "clean" before they are opened
through the Help menu -- that is, they must not have any colors, hypers or
marks in them.  If this is the case, Alpha will perform a series of "search
and hyperize" routines in the proc: help::colourHeadingsEtc.

These routines makes writing Help files much easier -- no need to
individually "Link To File" anymore !!  (This means that help files can
also be marked and hyperized by Alphatk.)  See the proc: helpMenu and the
file "Help Files Help" for more information.


	  	To submit additional examples,


or just better ones, please send them via e-mail to the address below.  
All of .bin or .hqx attachments, and in-line text files are acceptable.

This would include, of course, examples of modes that aren't even listed
above.  Please include information on where one could obtain the mode if it
is not included in standard distributions.

The most recent version should be available at Vince's upload site, at

    <ftp://ftp.ucsd.edu/pub/alpha/>

Feel free to also send me any bugs, comments, or suggestions on this file.

cheers,


-- cbu


Author: Craig Barton Upright
E-mail: <cupright@princeton.edu>
  mail: Princeton University,  Department of Sociology
        Princeton, New Jersey  08544
   www: <http://www.princeton.edu/~cupright/>


	  	License and Disclaimer


Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

  Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.

  Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

  Neither the name of Alpha/Alphatk nor the names of its contributors may
   be used to endorse or promote products derived from this software
   without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.

This package is free.  Alpha is shareware ! <<register>>

